package com.fate.system.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fate.framework.handler.ListTypeHandler;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
import lombok.Data;

/** 组织机构表 @TableName sys_org */
@TableName(value = "sys_org", autoResultMap = true)
@Data
public class Org implements Serializable {

  @Serial
  @TableField(exist = false)
  private static final long serialVersionUID = 1L;

  /** id */
  @TableId private String id;

  /** 组织名 */
  private String orgName;

  /** 父id */
  private String pid;

  /** 机构类型 字典org_type 1公司 2子公司 3部门 4小组 */
  private String orgType;

  /** 机构全称 */
  private String orgFullName;

  /** 机构代码 */
  private String orgPath;

  /** 机构全路径代码 */
  private String orgFullPath;

  /** 排序 */
  private Integer orderNumber;

  /** 备注 */
  private String remark;

  /** 领导id集合 */
  @TableField(typeHandler = ListTypeHandler.class)
  private List<String> leaderIds;

  /** 创建时间 */
  @TableField(fill = FieldFill.INSERT)
  private LocalDateTime gmtCreate;

  /** 修改时间 */
  @TableField(fill = FieldFill.INSERT_UPDATE)
  private LocalDateTime gmtModified;

  /** 租户id */
  private String tenantId;

  /** 创建者id */
  private String creatorId;

  /** 逻辑删除标志 */
  @TableLogic private Integer deleted;
}
